package com.guigu.pojo.stock;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;

/**
 * <p>
 * 
 * </p>
 *
 * @author Mr.Zhang
 * @since 2024-12-06
 */
@Data
@TableName("S_GATHER_DETAILS")
public class SGatherDetails implements Serializable {

    private static final long serialVersionUID=1L;

    //@apiModelProperty(value = "序号，唯一标识入库明细记录，自增长")
      @TableId(value = "ID", type = IdType.AUTO)
    private Integer id;

    //@apiModelProperty(value = "父级序号，关联入库表 (S_GATHER) 的 ID，不可为空，确保明细与入库单准确关联")
    @TableField("PARENT_ID")
    private Integer parentId;

    //@apiModelProperty(value = "产品编号，不可为空，关联产品档案表 (D_FILE)，确定入库产品的唯一性")
    @TableField("PRODUCT_ID")
    private String productId;

    //@apiModelProperty(value = "产品名称，可空，辅助识别产品")
    @TableField("PRODUCT_NAME")
    private String productName;

    //@apiModelProperty(value = "产品描述，可空，提供产品更详细信息，辅助入库操作")
    @TableField("PRODUCT_DESCRIBE")
    private String productDescribe;

    //@apiModelProperty(value = "数量，不可为空，本次入库产品的实际数量")
    @TableField("AMOUNT")
    private BigDecimal amount;

    //@apiModelProperty(value = "单位，可空，产品的计量单位")
    @TableField("AMOUNT_UNIT")
    private String amountUnit;

    //@apiModelProperty(value = "单价，可空，产品的入库单价")
    @TableField("COST_PRICE")
    private BigDecimal costPrice;

    //@apiModelProperty(value = "小计，为数量与单价乘积，可空，自动计算入库产品金额小计，便于成本核算")
    @TableField("SUBTOTAL")
    private BigDecimal subtotal;

    //@apiModelProperty(value = "确认入库件数，可空，实际确认的本次入库产品数量，用于精准库存管理")
    @TableField("GATHERED_AMOUNT")
    private BigDecimal gatheredAmount;

    //@apiModelProperty(value = "入库标志，如已登记、已调度，不可为空，与入库表状态保持一致，确保数据完整性与流程可追溯性")
    @TableField("GATHER_TAG")
    private String gatherTag;


}
